package com.itheima.demo11_解决多态的弊端;

class Animal {
    public void eat() {
        System.out.println("吃东西...");
    }
}

class Dog extends Animal {
    // 独有的成员变量
    int num = 10;

    @Override
    public void eat() {
        System.out.println("狗吃骨头...");
    }

    // 独有的成员方法
    public void lookHome() {
        System.out.println("狗正在看家...");
    }
}

class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("猫吃鱼...");
    }

}
public class Test {
    public static void main(String[] args) {
        // 向上转型: 父类类型的引用指向子类类型的对象
        Animal anl1 = new Dog();
        anl1.eat();
        // 向下转型: 子类类型向父类类型转换的过程
        Dog dog = (Dog)anl1;
        System.out.println(dog.num);
        dog.lookHome();

    }
}
